package com.ysg.sportsportlsit.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.ysg.common.annotation.Excel;
import com.ysg.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 运动会具体项目对象 sport_lists
 *
 * @author 叶双贵
 * @date 2022-03-24
 */

@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class Sportlists extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 项目id
     */
    private String sportlistId;

    /**
     * 运动会id
     */
    private String sprotInformId;

    /**
     * 裁判员id
     */
    private String sportferessid;

    /**
     * 项目名称
     */
    @Excel(name = "项目名称")
    private String sportlistName;

    /**
     * 项目主题内容
     */
    @Excel(name = "项目主题内容")
    private String sportlistText;

    /**
     * 项目状态
     */
    @Excel(name = "项目状态")
    private String sportStatus;

    /**
     * 裁判员名称
     */
    @Excel(name = "裁判员名称")
    private String refereesName;

    /**
     * 裁判员等级
     */
    @Excel(name = "裁判员等级")
    private String refereesLevel;

    /**
     * 项目可报人数
     */
    @Excel(name = "项目可报人数")
    private Integer sportlistSum;

    /**
     * 项目备注
     */
    @Excel(name = "项目备注")
    private String sportlistRemark;

    /**
     * 项目开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sportStart;

    /**
     * 项目结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sportEnd;

    public void setSportlistId(String sportlistId) {
        this.sportlistId = sportlistId;
    }

    public String getSportlistId() {
        return sportlistId;
    }

    public void setSprotInformId(String sprotInformId) {
        this.sprotInformId = sprotInformId;
    }

    public String getSprotInformId() {
        return sprotInformId;
    }

    public void setSportlistName(String sportlistName) {
        this.sportlistName = sportlistName;
    }

    public String getSportlistName() {
        return sportlistName;
    }

    public void setSportlistText(String sportlistText) {
        this.sportlistText = sportlistText;
    }

    public String getSportlistText() {
        return sportlistText;
    }

    public void setSportStatus(String sportStatus) {
        this.sportStatus = sportStatus;
    }

    public String getSportStatus() {
        return sportStatus;
    }

    public void setSportlistSum(Integer sportlistSum) {
        this.sportlistSum = sportlistSum;
    }

    public Integer getSportlistSum() {
        return sportlistSum;
    }

    public void setSportlistRemark(String sportlistRemark) {
        this.sportlistRemark = sportlistRemark;
    }

    public String getSportlistRemark() {
        return sportlistRemark;
    }

    public void setSportStart(Date sportStart) {
        this.sportStart = sportStart;
    }

    public Date getSportStart() {
        return sportStart;
    }

    public void setSportEnd(Date sportEnd) {
        this.sportEnd = sportEnd;
    }

    public Date getSportEnd() {
        return sportEnd;
    }

    public String getRefereesName() {
        return refereesName;
    }

    public void setRefereesName(String refereesName) {
        this.refereesName = refereesName;
    }

    public String getRefereesLevel() {
        return refereesLevel;
    }

    public void setRefereesLevel(String refereesLevel) {
        this.refereesLevel = refereesLevel;
    }

    public String getSportferessid() {
        return sportferessid;
    }

    public void setSportferessid(String sportferessid) {
        this.sportferessid = sportferessid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("sportlistId", getSportlistId())
                .append("sprotInformId", getSprotInformId())
                .append("sportferessid", getSportferessid())  //裁判员id
                .append("sportlistName", getSportlistName())
                .append("sportlistText", getSportlistText())
                .append("sportStatus", getSportStatus())
                .append("sportlistSum", getSportlistSum())
                .append("refereesName", getRefereesName())   //项目裁判员
                .append("refereesLevel", getRefereesLevel())  //项目裁判员等级
                .append("sportlistRemark", getSportlistRemark())
                .append("sportStart", getSportStart())
                .append("sportEnd", getSportEnd())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
